package com.attunlcok.unlock.domain;

import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.attunlcok.common.annotation.Excel;
import com.attunlcok.common.core.domain.BaseEntity;

/**
 * IMEI解锁记录对象 att_unlock_record
 * 
 * @author ruoyi
 * @date 2025-03-05
 */
public class AttUnlockRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long id;

    /** 订单号 */
    @Excel(name = "订单号")
    private String orderId;

    /** IMEI号码 */
    @Excel(name = "IMEI号码")
    private String imei;

    /** 名 */
    @Excel(name = "名")
    private String firstName;

    /** 姓 */
    @Excel(name = "姓")
    private String lastName;

    /** 使用的邮箱 */
    @Excel(name = "使用的邮箱")
    private String email;

    /** 关联的用户信息ID */
    @Excel(name = "关联的用户信息ID")
    private Long userInfoId;

    /** 关联的邮箱信息ID */
    @Excel(name = "关联的邮箱信息ID")
    private Long emailInfoId;

    /** 解锁使用的IP地址 */
    @Excel(name = "解锁使用的IP地址")
    private String unlockIp;

    /** 解锁状态（0待处理 1成功 2失败） */
    @Excel(name = "解锁状态", readConverterExp = "0=待处理,1=成功,2=失败")
    private String unlockStatus;

    /** 错误信息 */
    @Excel(name = "错误信息")
    private String errorMsg;

    /** 提交时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "提交时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date submitTime;

    /** 解锁时间 */
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @Excel(name = "解锁时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date unlockTime;

    /** 手机号 */
    @Excel(name = "手机号")
    private String phone;

    /** 邮箱密码 */
    @Excel(name = "邮箱密码")
    private String password;

    /** 请求编号 */
    private String requestNumber;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setOrderId(String orderId) 
    {
        this.orderId = orderId;
    }

    public String getOrderId() 
    {
        return orderId;
    }

    public void setImei(String imei) 
    {
        this.imei = imei;
    }

    public String getImei() 
    {
        return imei;
    }

    public void setFirstName(String firstName) 
    {
        this.firstName = firstName;
    }

    public String getFirstName() 
    {
        return firstName;
    }

    public void setLastName(String lastName) 
    {
        this.lastName = lastName;
    }

    public String getLastName() 
    {
        return lastName;
    }

    public void setEmail(String email) 
    {
        this.email = email;
    }

    public String getEmail() 
    {
        return email;
    }

    public void setUserInfoId(Long userInfoId) 
    {
        this.userInfoId = userInfoId;
    }

    public Long getUserInfoId() 
    {
        return userInfoId;
    }

    public void setEmailInfoId(Long emailInfoId) 
    {
        this.emailInfoId = emailInfoId;
    }

    public Long getEmailInfoId() 
    {
        return emailInfoId;
    }

    public void setUnlockIp(String unlockIp) 
    {
        this.unlockIp = unlockIp;
    }

    public String getUnlockIp() 
    {
        return unlockIp;
    }

    public void setUnlockStatus(String unlockStatus) 
    {
        this.unlockStatus = unlockStatus;
    }

    public String getUnlockStatus() 
    {
        return unlockStatus;
    }

    public void setErrorMsg(String errorMsg) 
    {
        this.errorMsg = errorMsg;
    }

    public String getErrorMsg() 
    {
        return errorMsg;
    }

    public void setSubmitTime(Date submitTime) 
    {
        this.submitTime = submitTime;
    }

    public Date getSubmitTime() 
    {
        return submitTime;
    }

    public void setUnlockTime(Date unlockTime) 
    {
        this.unlockTime = unlockTime;
    }

    public Date getUnlockTime() 
    {
        return unlockTime;
    }

    public void setPhone(String phone) 
    {
        this.phone = phone;
    }

    public String getPhone() 
    {
        return phone;
    }

    public void setPassword(String password) 
    {
        this.password = password;
    }

    public String getPassword() 
    {
        return password;
    }

    public String getRequestNumber() {
        return requestNumber;
    }

    public void setRequestNumber(String requestNumber) {
        this.requestNumber = requestNumber;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("orderId", getOrderId())
            .append("imei", getImei())
            .append("firstName", getFirstName())
            .append("lastName", getLastName())
            .append("email", getEmail())
            .append("userInfoId", getUserInfoId())
            .append("emailInfoId", getEmailInfoId())
            .append("unlockIp", getUnlockIp())
            .append("unlockStatus", getUnlockStatus())
            .append("errorMsg", getErrorMsg())
            .append("submitTime", getSubmitTime())
            .append("unlockTime", getUnlockTime())
            .append("phone", getPhone())
            .append("password", getPassword())
            .append("requestNumber", getRequestNumber())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .append("remark", getRemark())
            .toString();
    }
}
